package agenda;

//import java.io.*;
import java.util.Scanner;

public class Menu {
    private Agenda miAgenda;

    public static void main(String[] args) {
	Menu miMenu = new Menu();
	miMenu.ejecutar();
    }

    private void ejecutar() {
	miAgenda = new Agenda();
	miAgenda.procesar();
	llamaMenu();
    }

    public void buscarRegistro() {
	String nombre = solicitaDatos("Nombre : ");
	Entrada[] registro = miAgenda.buscar(nombre);
	if (registro == null) {
	    System.out.print("No se ha encontrado !!!");
	} else {
	    for (int i=0;i<registro.length;i++){
	    muestraDatosEntrada(registro[i]);
	    }
	   	}
    }

    public String solicitaDatos(String titulo) {
	Scanner scan = new Scanner(System.in);
	System.out.print(titulo + "  ");
	return scan.nextLine();
    }


    
    public void muestraDatosEntrada(Entrada registro) {
	if ( registro != null ) { 
	System.out.println(registro.getNombre() + " " + registro.getApellido()
		+ " " + registro.getTf());
	}
    }

    public void listar() {
	Entrada[] listaEntrada = miAgenda.listarEntradas();
	imprimeCabecera();
	if (listaEntrada == null) {
	    System.out.println("No hay entradas.");
	} else {
	    for (int i = 0; i < listaEntrada.length; i++) {
		imprimeEntrada(listaEntrada[i]);
	    }
	}
    }

    public void imprimeCabecera() {
	System.out.println("Nombre\tApellidos\tTelefono");
    }

    public void imprimeEntrada(Entrada e) {
	System.out.println(e.getNombre() + '\t' + e.getApellido() + '\t'
		+ e.getTf());
    }

    public void llamaMenu() {
	int opcion;
	Scanner scanner = new Scanner(System.in);
	System.out.println("Elige la opcion:");
	System.out.println("1.-Nueva entrada");
	System.out.println("2.-Listar entradas");
	System.out.println("3.-Buscar entradas");
	System.out.println("4.-Salir");

	do {
	    opcion = scanner.nextInt();
	    switch (opcion) {
	    case 1:
		System.out.println("1.-Nueva entrada");
		String nombre=solicitaDatos("Nombre");
		String apellidos=solicitaDatos("Apellidos");
		String tf=solicitaDatos("Telefono");
		miAgenda.nueva(nombre, apellidos, tf);
		break;
	    case 2:
		System.out.println("2.-Listar entradas");
		listar();
		break;
	    case 3:
		System.out.println("3.-Buscar entradas");
		buscarRegistro();
		break;
	    }
	} while (opcion != 4);
    }
}
